
//Copyright 1997-2009 Syrinx Development, Inc.
//This file is part of the Syrinx Web Application Framework (SWAF).
// == BEGIN LICENSE ==
//
// Licensed under the terms of any of the following licenses at your
// choice:
//
//  - GNU General Public License Version 3 or later (the "GPL")
//    http://www.gnu.org/licenses/gpl.html
//
//  - GNU Lesser General Public License Version 3 or later (the "LGPL")
//    http://www.gnu.org/licenses/lgpl.html
//
//  - Mozilla Public License Version 1.1 or later (the "MPL")
//    http://www.mozilla.org/MPL/MPL-1.1.html
//
// == END LICENSE ==
using System;
using System.Text;

using Swaf;
using Swaf.BizObj;
using Swaf.BizRule;
using Swaf.Gui;
using Swaf.Security;

namespace Articles.Gui
{
	public class ArticleTrailBizProc : BaseBusinessProcess
	{
		public ArticleTrailBizProc(ActiveBizProc procState):base(procState){}

		protected override void setupRuleNames()
		{
			base.m_getBizObjListRule = "getBizObjTreeParents";
		}
		
		protected override Privileges CurrentEditPrivilege
		{
			get { return Privileges.ReadOnly; }
		}

		protected override object[] getBizObjListRuleParameters(object parentId, IBizObj filterSort)
		{
			return new object[] { "Articles", parentId, "ASC" };
		}
		protected override void getBizObjList()
		{
			base.getBizObjList();
			//if (m_bizobjs != null)
			//{
			//    IBizObj homeArticle = App.bizObjMgr.create("Article");
			//    homeArticle.put("baseTitle", "Home");
			//    homeArticle.put("id", Guid.Empty);
			//    m_bizobjs.Insert(0, homeArticle);
			//}
		}
		public IBizObj selectBizObj(object keyValue)
		{
			if(Guid.Empty.Equals(keyValue))
				keyValue = null;
			foreach (ParentBizProcInfo parentInfo in State.ParentBizProcs.Values)
			{
				ActiveBizProc parentBizProc = m_procState.BPC.getActiveBizProc(parentInfo.ParentId);
				parentBizProc.OfflineState.State.put("pid", keyValue);
				parentBizProc.BizProc.showData(ForceLevel.mustShowForceDataRetrieval);
			}
			return null;
		}
	}
}
